define(['jquery'], () => {
  class Header {
    constructor() {
      this.loadHTML().then(() => {
        this.headerNav();
        this.calcCartCount();
      })
    }
    loadHTML() {
      // load是一个异步方法，所以要操作header的DOM元素必须要load加载完成才能使用
      // 除了在load完成之后调用还能使用事件委托
      return new Promise(resolve => {
        // $('header').load('/html/modules/header.html', () => {
        //   resolve()
        // })

        $('header').load('/html/modules/header.html', resolve)
      })
    }
    headerNav() {
      const id = decodeURIComponent(location.search.slice(4));
      // console.log(id)
      if (id === '鲜花') {
        $('.header-nav a').eq(1).addClass('ac');
        // console.log($('.header-nav a').eq(1))
      } else if (id === '永生花') {
        $('.header-nav a').eq(2).addClass('ac');
      }else if (id === '礼品') {
        $('.header-nav a').eq(3).addClass('ac');
      }else if (id === '每周一花') {
        $('.header-nav a').eq(4).addClass('ac');
      }else if (id === '花语') {
        $('.header-nav a').eq(5).addClass('ac');
      }
    }
    calcCartCount() {
      let count = 0;
      let cart = localStorage.getItem('cart')
      if (cart) {
        cart = JSON.parse(cart)
        count = cart.reduce((total, shop) => {
          return total + shop.count
        }, 0)
      }
      $('#header-num').html(count)
      // 详情页侧边栏数量，但是其他页面找不到这个元素就不执行这句代码，也不会报错
      $('#addNum').html(count)
    }
  }
  return new Header()
});